{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# import stuff\n",
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "%matplotlib inline\n",
    "\n",
    "from random import randint\n",
    "\n",
    "import numpy as np\n",
    "import torch"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Load model\n",
    "from models import InferSent\n",
    "model_version = 1\n",
    "MODEL_PATH = \"../encoder/infersent%s.pkl\" % model_version\n",
    "params_model = {'bsize': 64, 'word_emb_dim': 300, 'enc_lstm_dim': 2048,\n",
    "                'pool_type': 'max', 'dpout_model': 0.0, 'version': model_version}\n",
    "model = InferSent(params_model)\n",
    "model.load_state_dict(torch.load(MODEL_PATH))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Keep it on CPU or put it on GPU\n",
    "use_cuda = False\n",
    "model = model.cuda() if use_cuda else model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# If infersent1 -> use GloVe embeddings. If infersent2 -> use InferSent embeddings.\n",
    "W2V_PATH = '../dataset/GloVe/glove.840B.300d.txt' if model_version == 1 else '../dataset/fastText/crawl-300d-2M.vec'\n",
    "model.set_w2v_path(W2V_PATH)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Vocab size : 100000\n"
     ]
    }
   ],
   "source": [
    "# Load embeddings of K most frequent words\n",
    "model.build_vocab_k_words(K=100000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load sentences"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9815\n"
     ]
    }
   ],
   "source": [
    "# Load some sentences\n",
    "sentences = []\n",
    "with open('samples.txt') as f:\n",
    "    for line in f:\n",
    "        sentences.append(line.strip())\n",
    "print(len(sentences))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Everyone really likes the newest benefits',\n",
       " 'The Government Executive articles housed on the website are not able to be searched .',\n",
       " 'I like him for the most part , but would still enjoy seeing someone beat him .',\n",
       " 'My favorite restaurants are always at least a hundred miles away from my house .',\n",
       " 'I know exactly .']"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sentences[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Encode sentences"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# gpu mode : >> 1000 sentences/s\n",
    "# cpu mode : ~100 sentences/s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Nb words kept : 128201/130068 (98.6%)\n",
      "Speed : 113.4 sentences/s (cpu mode, bsize=128)\n",
      "nb sentences encoded : 9815\n"
     ]
    }
   ],
   "source": [
    "embeddings = model.encode(sentences, bsize=128, tokenize=False, verbose=True)\n",
    "print('nb sentences encoded : {0}'.format(len(embeddings)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.5349097"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.linalg.norm(model.encode(['the cat eats.']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def cosine(u, v):\n",
    "    return np.dot(u, v) / (np.linalg.norm(u) * np.linalg.norm(v))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.81652409"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cosine(model.encode(['the cat eats.'])[0], model.encode(['the cat drinks.'])[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nzGri/wNlRlgL7ym4XAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11fe54850>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "idx = randint(0, len(sentences))\n",
    "_, _ = model.visualize(sentences[idx])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n3G724+EAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11ff80190>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "my_sent = 'The cat is drinking milk.'\n",
    "_, _ = model.visualize(my_sent)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Vocab size : 500000\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAE6CAYAAAAV5um7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu8ZXP9x/HXe2bcr0M47kOGXJJKilRH/dyv5T5I+lXU\nL5T8ItJMCukiUkqRJOXSL4Vy6eKEEsm9FCmjwriNW8gwn98fn+8223HOnDNj1l77nPV+Ph7ncfZe\n+7I+a6+9P+u7vt/v+n4VEZiZ2eg3pu4AzMysM5zwzcwawgnfzKwhnPDNzBrCCd/MrCGc8M3MGsIJ\nfxSQ9HVJR1a8jiskvbfcniTp0grWUcn7DmO9m0i6Q9Ljknbo9Prb4pgs6ay5eN1tkt5aRUw2ujjh\ndzlJl0iaMsDyHSXdJ2lMRHwwIo7pVEwR8f2I2OrlvIekVSXNlPTCd3BevO9cOhr4SkQsHhEX1rD+\ndnN8YUxErBcRV1YRzJyS9HdJb687DhuYE373OxPYe4DlewNnRcTMDsczr4hMbqo7EGBV4E+dXKGk\nbtjueUbS2LpjsKE54Xe/HwNLS9q0tUDSksB2wHfL/TMkHV1uLy3pIknTJT0s6ddtr5spafW2++2v\nW7K87oHyuoskrThQQJL2lXRV2/0vS5om6TFJN0tapyzfRtINZflUSZPb3qYV16OlKuWNA7zvJpKu\nK9tyraSN2x67QtLRkq4ur79U0lKDfYiS3i/pTkkPSfqxpJ6y/K/AasDF5X3m6/e690i6sO3+nZLO\nbbt/j6T1hxnvZ0u8/wZWkzRBUl/5fC4DXtH2/AUknVXibb3fMoNs2wul6lItdF557eNlf0yUdHjZ\nR1Mlbd4vrmPL+z8m6YLy/Wo9vkOpMnpE0q8kvarfej8u6WbgSUlnA6sAF5V1H1qed145G51etned\ntvc4Q9JXJbU+/2skrdb2+LqSLi/fyfskHV6Wq2zTXyU9KOmc9rhtYE74XS4ingHOB97dtnh34PaI\nuG2Al3wM+AewNLAscET7281mVWOAbwMrkz/ap4Cvzi40AElbAJsCa0TEEsBuwMPlOU8C+5Tl2wIH\naFYdeavOefFSlXJtv/cdD1wMnFi25cvAT8vylj2BfYFlgAWAQwcKtCTDY4FdgOWBe4BzASJiDfLz\n2rbEMaPfy39dtg9JywPzARuX+6sDi0TELeVgM1S8ewPvAxYrMXwf+D2Z6D9btqVlX2BxYEVgKeAA\n4OmBtm8A25FnhksCNwGXkWdSKwCfAU7t9/x9gPcAPcDzwMll+9YsMR5EfsaXkMl8XNtr9wC2BpaM\niL3Kdm1XPssvluf8DHgl+X28ATi73/p3ByaXeO8CjinrXxT4eXn98sAawC/Law4CdgDeUrZrOnDK\nMD+fxnLCHxnOBHaVNH+5v09ZNpAZ5I9jtYh4PiJ+0/bYoNUIEfFIRFwQEf+JiH8DxzErKc/ODDKB\nrSNJEfGXiJhW3vPKiPhjuX0bcA7wtn6vHyymbYE7Sr3+zIg4B/gzsH3bc86IiLsi4j/AecAGg7zX\nJOD0iLi5JPRPABtLWmWoOCLi78ATkjYgP4/LgHtLMnwr0Doj2WYY8X4nIv5cquGWBzYEPhURMyLi\nKuCitufOIA8ca0a6MSKeHGT7+rsqIn5R1nM+eUD5XEQ8T+6DCZIWb3v+WRFxe0Q8DRxFftdEHrwv\njohfldd+EVgI2KTttSdFxL1lH7S86LOMiO9ExFPlsz8aeI2kxdqeckFE/KHEezaz9uP2wH0RcWJE\nPBsR/46I35fH9geOjIj72t53F7W1CdlL+cMZAUrSfhDYqZQq30CWvAbyBbKUdHk53T1sOOuQtJCk\nUyXdLelRsmS7ZPnhzy62K8gzga8B0yR9o5TMkLRRqQZ4oLzn/rRVWwxhBWBqv2VTyRJvy/1tt58C\nFh3Oe5UD2sP93mt2fg1sRib4vvLXSx68WlVTw4n3H/1iml6SbPvzW84iDy7nSPqnpM9p+PXk09pu\nPw08FLNGSWytr/2zao9rKnkW8wpe+rlFeW77Nv1zdoFIGlNi/2v5DvydPItr/x4Mth9XIr/LA1kV\nuKBUNT1CtsHMAJabXTxN54Q/cpxFnubvDVwWEQ8O9KSIeDIiDo2IV5KnvIdI2qw8/BSwcNvTe9pu\nHwpMBN4QEUsyq3Q/ZONiRHw1IjYE1gHWAv63PPR9sg1ixfKep7a931C9Ue4FJvRbtgrwr6HiGeS9\nVm3dkbQIWXqebbJqcyWZ4DclE/yVZLJ/K7MS/nDibd/m+4Dxkhbq9/x8YsRzEfGZiFiXLFFvz4ur\n9ealldtur0omzofo97m1Pbf9c+u/H/vfn0TG/vbyHZhAfgeG02j9D7IqaCD3AFtHxFLlb3xELBIR\n9w3jfRvLCX/k+C7wX2Qd8GDVOUjaVlLrR/IE8BzQ6slzEzCplLq24sXVK4uSpb/HS330lOEEJWnD\nUpIfV17/DFkP3HrP6RExQ9JG5I+/5cES12A/6J8BEyXtIWmspN2BtXlxtcdw/QDYT9L6khYg6/N/\nFxH/GOJ1La0S/kIRcS9ZjbMVedC4cW7ijYh7gOuBT0uaT9ko/0L1j6ReSeuVKoonySRcVY+svSW9\nStLCwKeB80tp/jxgW0mbSRpXGmGfAa6ZzXvdD6zedn8x4D/A9HKgPY7hdz29GOiRdJCk+SUtWr5H\nkIWHY1vVcpKWUY3XUIwUTvgjRERMBX5LltBn11d8IvALSU8AvwG+FhGtUujBZKl/OtngeUHb604s\n7/1QWc/P+ocwyPoWB74FPEKerj9E1vUCfAj4jKTHgE9SGkrL9jxNNs79ppyWb9T+phHxCNn4eGh5\nz0PJhtXpQ8TzEhHxS7Ju+kdkiXs1srFxqG1rvf5O8uB5Zbn/BFnVcHWrqmQu450EvImsXjqKFx/I\ne4AfAo8BfwSuIM/yBgxxdvEP4/lnlXXfC8xPfk+IiDvIM8qvkgfobYHtI+K52az3c8BRZZ8eUt73\nHvJzv438bg0vyGyz2Jz8zt4P3EGeaQGcBPyErLp8rLzvRgO8jbVRlROgSFqJLJkuR5ZOvhkRJyu7\n570feKA89YiI6PgVlmZNJ+kKstH223XHYtUbN/RTXpbngEMi4qbSkPcHST8vj50QESdUvH4zMysq\nTfgRcT+lBT4inpR0O7Na+EfVlYZmI5TnOG2QSqt0XrQiaQLZnW098uKg95D1k9cDH4uIxzoSiJlZ\nQ3Wk0bZU5/wQOLg0xJwCrB4RG5BnAK7aMTOrWOUl/NJd72Lgkog4aYDHVwUuioj1B3jMp5tmZnMh\nIl5Sbd6JEv63gT+1J3uVgauKd5HdtQYUEbX8TZ482ev2ur1ur3tErnswlTbaSnozsBdwq6QbyQai\nI8iLfzYgu2reTV5yb2ZmFaq6l85vgIHG/3CfezOzDvOVtoPo7e31ur1ur9vrHlXr7li3zLmRo+12\nb3xmZt1IElFTo62ZmXUBJ3wzs4ZwwjczawgnfDOzhnDCNzNrCCd8M7OGcMI3M2sIJ3wzs4Zwwjcz\nawgnfDOzhnDCNzNrCCd8M7OGcMI3M2sIJ3wzs4ZwwjczawgnfDOzhnDCNzNrCCf8QfT0TEBSpX89\nPRPq3kwzaxBPcTj4uoGq1y26+fM3s5HJUxyamTWcE76ZWUM44ZuZNYQTvplZQzjhm5k1hBO+mVlD\nOOGbmTWEE76ZWUM44ZuZNYQTvplZQzjhm5k1hBO+mdXCAxR2ngdPG3zdePA0s+r4N1YdD55mZtZw\nTvhmZg1RacKXtJKkX0n6o6RbJR1Ulo+XdLmkv0i6TNISVcZhZmYV1+FL6gF6IuImSYsCfwB2BPYD\nHo6Iz0s6DBgfEYcP8HrX4ZuNUv6NVaeWOvyIuD8ibiq3nwRuB1Yik/6Z5WlnAjtVGYeZmXWwDl/S\nBGAD4HfAchExDfKgACzbqTjMzJqqIwm/VOf8EDi4lPT7n2M175zLzKzDxlW9AknjyGR/VkT8pCye\nJmm5iJhW6vkfGOz1U6ZMeeF2b28vvb29FUZrZjby9PX10dfXN+TzKr/wStJ3gYci4pC2ZccDj0TE\n8W609cmNNZN/Y9UZrNG26l46bwauBG4l92wARwDXAecBKwNTgd0i4tEBXu+EbzZK+TdWnVoS/svl\nhG82evk3Vh0PrWBm1nBO+GZmDeGEb2bWEE74ZmYN4YRvZtYQTvhmZg3hhG9m1hBO+GZmDeGEb2bW\nEE74ZmYN4YRvZtYQTvhmZg3hhG9m1hBO+GZmDeGEb2bWEE74ZmYN4YRvZtYQTvhmZg3hhG9m1hBO\n+GZmDeGEb2bWEE74ZmYN4YRvZtYQTvhmZg3hhG9m1hBO+GZmDeGEb2bWEE74ZmYN4YRvZtYQTvhm\nZg3hhG9m1hBO+GZmDeGEb2bWEE74ZmYN4YRvZtYQlSZ8SadLmibplrZlkyX9U9IN5W+rKmMwM7NU\ndQn/DGDLAZafEBGvK3+XVhyDmZlRccKPiKuB6QM8pCrXa2ZmL1VXHf6HJd0k6TRJS9QUg5lZo9SR\n8E8BVo+IDYD7gRNqiMHMrHHGdXqFEfFg291vARfN7vlTpkx54XZvby+9vb2VxGVmNlL19fXR19c3\n5PMUEZUGImkCcFFEvLrc74mI+8vtjwJviIhJg7w2qo5vMJKAqtct6to+s7r5N1YdSUTES9pKKy3h\nS/o+0AssLekeYDKwmaQNgJnA3cD+VcZgZmap8hL+y+ESvtno5d9YdQYr4ftKWzOzhnDCNzNrCCd8\nM7OGcMI3M2sIJ3wzs4ZwwjczawgnfDOzhnDCNzNrCCd8M7OGcMI3M2sIJ3wzs4ZwwjczawgnfDOz\nhnDCNzNrCCd8M7OGmKOEL+lNki6V1Cdpp6qCMjOzeW+2E6C0T0dY7p8H7AsIuLY1bWFlwXkCFLNR\ny7+x6sztFIffkHQD8PmIeAZ4FNiFnJ7w8XkfppmZVWW2VToRsRNwI3CxpHcDHwEWAJYGXKVjZjaC\nDGtOW0ljgQ8B2wHHRMSVVQdW1usqHbNRyr+x6szVnLaSdpB0BXApcBuwO7CjpHMkvbKaUM06r6dn\nApIq/evpmVD3ZlrDDdVoewuwEbAQcFlEbFSWTwQ+ExF7VBqcS/jWId7fnefPvDpz22j7GPAuYGHg\ngdbCiLgTqDTZm5nZvDVUP/x3kg2044BJ1YdjZmZVGVajbV1cpWOd4v3def7MqzNXjbZmZjZ6OOGb\nmTWEE76ZWUM44ZuZNYQTvplZQzjhm5k1hBO+mVlDOOGbmTWEE76ZWUM44ZuZNYQTvplZQ1Sa8CWd\nLmlaGWa5tWy8pMsl/UXSZZKWqDIGMzNLVZfwzwC27LfscOAXEbEW8CvgExXHYGZmVJzwI+JqYHq/\nxTsCZ5bbZ+K5cc3MOqKOOvxlI2IaQETcDyxbQwxmZo3TDY22zRus2sysBkNNcViFaZKWi4hpknpo\nmzpxIFOmTHnhdm9vL729vdVGZ2Y2wvT19dHX1zfk8yqf8UrSBOCiiHh1uX888EhEHC/pMGB8RBw+\nyGs945V1hPd35/kzr85gM15VmvAlfR/oJefFnQZMBn4MnA+sDEwFdouIRwd5vRO+dYT3d+f5M69O\nLQn/5XLCt07x/u48f+bV8Zy2ZmYN54RvZtYQTvjWNXp6JiCp0r+engl1b6ZZbVyHP/i6cf1iZ9X5\nmXt/d54/8+q4Dt/MrOGc8M3MGsIJ38ysIZzwzcwawgnfzKwhnPDNzBrCCd/MrCGc8M3MGsIJ38ys\nIZzwzcwawgnfzKwhnPDNzBrCCd/MrCGc8M3MGsIJ38ysIZzwzcwawgnfzKwhnPDNzBrCCd/MrCGc\n8M3MGsIJ38ysIZzwzcwawgnfzKwhnPDNzBrCCb8L9fRMQFKlfz09E+reTLPaNPU3poioO4ZBSYq6\n4pMEVL1uMdD21bnuOvkzbxbv7wrXLBER6r/cJXwzs4ZwwjczawgnfDOzhnDCNzNrCCd8M7OGcMI3\nM2uIcXWtWNLdwGPATGBGRGxUVyxmZk1QW8InE31vREyvMQYzs8aos0pHNa/fzKxR6ky4Afxc0u8l\nvb/GOMzMGqHOKp03R8R9kpYhE//tEXF1/ydNmTLlhdu9vb309vZ2LsIG6umZwLRpUytdx3LLrcr9\n999d6TrMmqSvr4++vr4hn9cVY+lImgw8EREn9FvusXS87lG/7qZq6v7uRKEK6J6xdCQtLGnRcnsR\nYAvgtjpiMTPrpEz2UfHfwOqq0lkOuEBSlBjOjojLa4rFzKwRuqJKZzCu0vG6m7Dupmrq/u7guruj\nSmdONHGSAmuWpk7GYZ3X9SX8BhyFvW6vu7Z116mpn7lL+GZmVjknfDOzhnDCNzNrCCd8M7OGcMI3\nM2sIJ3wzs4ZwwjczawgnfDOzhnDCN2swX+XbLL7Stv6r4bxur9vr9rqrWLevtDUzayonfDOzhnDC\nNzNrCCd8M7OGcMI3M2sIJ3wzs4ZwwjczawgnfDOzhnDCNzNrCCd8M7OGcMI3M2sIJ3wzs4Zwwjcz\nawgnfDOzhnDCNzNrCCd8M7OGcMI3M2sIJ3wzs4ZwwjczawgnfDOzhnDCNzNrCCd8M7OGcMI3M2uI\n2hK+pK0k/VnSHZIOqysOM7OmqCXhSxoDfBXYElgX2FPSq+qIxcysKeoq4W8E3BkRUyNiBnAOsGNN\nsZiZNUJdCX9F4B9t9/9ZlpmZWUXcaGtm1hDjalrvv4BV2u6vVJYNQJUHIw22Dq/b6/a6ve6Rue4B\n1xoRnV+pNBb4C/AO4D7gOmDPiLi948GYmTVELSX8iHhe0oeBy8lqpdOd7M3MqlVLCd/MzDrPjbZm\nZg3hhG9WE0mbSFqr7jisOZzwu4QGb85vtPbPRdLidcbSImmcpPnL7fnm8j3eBHwHmCFpgXkYXuP0\n+444p82GP5wOGCqZS1KUxhRJa0papDORvTSOQZbXNQRH++eyP3CopLq6Erdimh/YDFhb0q7AJ+c0\npvJ5rgH8CJgA7F/HdnXb/p4b/b4jk4C31P0d6WZd32graUxEzCxdOWcC20TET+uOa7j6fSHfCTwM\nzIyIq1s/uLbHDwG2AvaNiPtqjHMv8rOePyLO7GQcA5G0CXAUsFtEPNEF8ewKHAwsDxwYET+bg9cq\nIqIc1P9G9pRbKyIeqiba2cdRbnfV/p4bkj4E7A+8MyL+Vnc8w9X2fRgTETOrXl/XH8lLsl8VOJ4c\nc+cEST01hzVsbT+qg4H/BV4HHF1KI2P7/eh2BXaNiPsk9XRyO9vi+AjwfuA54IgSZy2UXkkm+0WB\nJeuKpRVPuflT4HHgLuCx4VY1lR91q4S1JNkt+QFgt3kd61C6cX/PLUkTgf2AHSPib5K2k7TPSBiQ\nse37ML+ktSRtWOX6ujrhS9pL0uHAucCfgDuAa4DHag1sDpX62q2BTYFlycvsDgCua0siY4GLgW0k\nfRL4MXBMJ7+0kpYA3hARvcBE8uK4cyUt1MEYXqhmiHQX8GnyzGgzSa/oVCz94yolsRWBGWSSPoMs\nVfaW56xUPsMBtUpwpXrqcDLZHwUcJulj1W7BS3XD/p4bA1RFTQV+BXxF0mnAB8h9suUQ7zN/JQEO\noX+VmaQDgC+QBYCPVNme15UJX9KYchq/L5nkP0z+uN4G/CAinq4zvqEMUAf6L7IUtSfwZjL5XwWM\nBz4naSnyauMVyC/rzcDHgCeo8BrsAeIcCywi6VvAhsDuEfE8sHvVJY+WtpLngZJOlnQGcC85nPbm\nwNaSlu1ELP3jkrQN8Gvga8B7yTPOK4B3SfosuQ9Xnd37SNoZOAg4HZifHGLk28B7JB1X3RZ05/6e\nU/2qojaTtB2zzpYuBY6PiB2A28iD2GDvsyDwHdXQYF5qLRaVdKyk44FdgFPIA+7P20r9lay86/6A\nZcv/RdqWbUhW64yltD10+x/wJnKcoEXK/Y+R9dCt20cD7wPuBhYryxcu/3cAbgRW7UCc6wALlNsf\nAR4E1iz33w3cAqzUwc/tAOAXZIPm74GvleU7ARcCewBjOrwvNwC+RB50tgdOBj5VHnsHWV231TDe\n5wjg0HJ7/rKtJwLrAVcDr2ja/p7LbfhI+bxOBq4HNmx77N3AH4B1hniPRaqMcYD1jWn9J9uAvgds\nAiwOvL185+erNIa6d9wAH8oHydLP+H7LLwaOqju+OdiO/cmS6beA04ClyHrGm4DPkA12q5bnbk3W\nB48v9/ckS/nrVRTba4GDyu0PAX8kS0g7k71HPlbi+QpwA7Buhz+7I4FXAIeQ9eULtH4IwH8BK3Yw\nlrFl3z0JXFCWLQi8tSSb48jGztbzZ1sYKQetn7QnI/KsYemqDmLdvr/nYnvWBn5cbn8Y+HlJoiIP\nnF8HXl13nP2/R223X7KfywFgr8Een1d/XdV9SdJ+5KnyzhExXdJiEfGE8uKUu4Fjy/NeOK3rFv1O\nNXvI6po3kl/EA8jS4fvI0tTqwPYRMRUgIi5Rji10TanvvwK4KiL+WUWcZDLdVtLyJZY3kw3G7wAW\nIxPZVWRD3pdacVah/74s8a1Ilnb+BOwQOfbSgZKej4hTqoploLgiqzgekbQjcJGkXSPifEnXkD1s\ndgFWI0/HGcb3so88W91LUh+wELAI+SOf5700um1/zw1JSwKPRbzQhvIv4AZJp5Nn0FtHVpPsThYM\nD4kuq/Yt3+Ex5G/7XElfb8sXG5IHrt3Lc6vrrVP3ka91RCN/PKeQpY6VyVO23wDHlOes2/p86o53\ngPjVdvsA4Cyy1PbKsm2tXkY/ApaazfvsRFZhVLKNZIPxWuX2cWSd84/aHt8HOLVsw6BxVhTbbsB2\nZJ32ssCfmVVlsh+Z/Nfs5P4kG/6OIZPjEmQb0hNkTyqA+eh3JjrM91+B/IFfXr4Tr2na/p6DbZiv\nfC8mk20fJ5FnJaeX39jybdtya+t+t/yV2Bcvty8Hjm57rFV9uz1weEfiqfsDKRu8XtuGP0z2UDkY\neAtwJR2o15xH27Ez8Euyiub3wCfadvbqwBSGqI4AFq0wvonk6e8ZZK+Gvcj6z4PanvM+sk55iYo/\nq/aD5C7AnWTj5Wnl81sVuJas57ySIepj53VcJYZbSyK5hlkFj83JPut7zIN1LUyF9cjdtL9f5nYs\nV35P9wMTy7LNgAvIKtPTyXaHrqqKIs8+PlcOUAsB3yy39yGvsr6C7EmkTh2ouuFDeS/w27aj3Vpt\ntzcvjy1ed5zD2I5Xk3Wj+7VtxyXAJ4Ely7JxXRDnF8k+5B8s97duHWDbnlPp590v2S8PHFoOiGPJ\nBrfTgXeUx8e2Pr+KY1qm7fYCZMn+lWT1xw20HaiBLYAt696XI2V/z4PvyEIlQX4f+DKzOjhMLIl/\nV2C1umMeZDsmM6vTwWlkVeWJZCPtkcCxHY2nxg+i1WJ9BHnBRP/H/4csYa1f904bJH71u7882Vj0\nB+BVZdkaZOnw4/2fX2PcrRLGjWQ3PIDXk6XpvTscy6Fko+y/gF3KsmVL0j+vtawDcYwhT7fPaFt2\nJFll8DtKjxXyDHTHtud0xT4dKft7DmJuT/ZrMavAtHRJmqeW+2+grXdON/3R1vAKnE+e/Y/tV3A4\nozEJv2zw6uRpzevblq1G1udv1kqc3fbX7wv5RmB9sq5xDFlt86O2pL86sErdMQ+wDduTp8FbAjuS\njXYdKyWV9f8UWIa8+OhmZrXTLEf2VKr8NLffvryu9QMENiIbWP+n3H8T2a7w9rr33Ujc33MZ88Fk\ndd75wNfLsglk1d+15JnXhLrj7Bfz2PJ/EWZ1fX0TWbBdsNxfGTgbOLPtdR0pPNT1oagkyK+X0sdY\nYF2yj/XJdKDv+TzajgPJEuBJZJ/gBcrB6ijy1K0jjYwvI/6tyLOo31Fx/We/xPoq4ExK17qy7Ciy\ny+pryv2O9LNnVp39BmS1wdNkQ+YCZP32j8jS/01kz6ra99tI2N/zINa9yE4bC5L14DOBH7b2GXlR\n5sS64xwk9nEll61f7q9AduTYptxfmLaz10591yOi3sHTJH2P/AK2GjmfIXuzPBUdGEjo5ZC0A3AY\n2c7wUbJ64iGyLj/IXkZnRwVdK+elctVqRMSDFa6jvcvq+8nT9D+QVTc/iYhvlMc+R/Zv7wVmRIVf\nTkljI7tctrrFnUd2iwsy8f88Ij4qaWGyrvjxiPh7N3YJnhOd2N9zQ9LiEfF4ub0CeeY3jawK2Zzs\nxfV34LqIeGdtgc5G2/AbO5A9ufZpe2xT8sB1YETc2P81nYqxtn74pW/9ruTR+vPkD2xGXfEMRS8d\nze5mMv69gLdExHhJvwZuJ7vCHV9HnHMqIh7owDpayX4z8irZbSLiP5IC6JW0f0ScGhGHS3pFRDxb\nZTySlgE+Kmly+c4tQF738Pvy+EbAXZKWjIj9yH39om0ZqTqxv+eUck6BLSUtRxb6ViNzwjPklagn\nRcSzkr4L7FwOCPd1275oi2dD4HrNGul30cjRcU8BXifp1oh4rt9rOqK2hB8Rfyk/vOci4qnW8m4s\nQUka19pB5cumKBenlAPX98pTLyBLIiuQF4pZIWlNcpyghcjv3X/IsU9mAjtKmhER3ya75VZtHNn4\nt7yk58groleQNCEi7o6IpySdDBwoaWJE3NmBmBpJ0vKRo8NeR140tTTwuoh4rAzidh+wcSkhTwQ2\n7caDVksZ22cz8oLBmZL+ixwn6VjyAPY6ahzDrOvHw6+bpPXIxq2LJH2ULKEuBvyQHETr/eSVjDPI\nXgO7R8S0uuLtBuXqTvWvlpO0OZn0fwmcExGPShpP/kB+GxH3dzjGz5NJZE+yV9gOZJe5+cm2pU+2\nn37bvCVpa3Ik1P8me2qdBTxLVtscV56zBdmraFPgiIi4eZC3q1Vbdc6HyIvzliDPVF5Ldic9LyIe\nlzQ+IqbXFqcT/uwpxwtv9djYiaznXY5MFleRiX878sh9ckTcUk+k3aOcwj5Zbr+f7JWwCNlTYUuy\nH/stwPmRQ2h05Kyu7Ue5fkTcImll8irTFckD0W7kD3Rt4BsRcWHVMTVVSeSfJ7ssXxERM0qJfiWy\n7/o/SxXf+uUlf2qdZXerMvLmQ8BfgXvIjgiPRsQ9A1QJ18IJfxD9Gho/TI47Mj/ZGPOUpAlkl7H9\nIuKXtQUQO0TsAAAJ4klEQVTaZUqD1Y4R8d+S9iV7Mh1FluKWBN5F1svuQR5Ez+xkFZ5yiOMTgUkR\ncb2kVchhDpYhR7F8WNJCEfF0N1YvjnTlzGpBco6LsyPiXEmLlmWvI7tbrk1+b1Yqy3eNiHtqCnmO\nSFqbzBO3dON3xwl/AAP90JXT2r2PHJf9NxHxiKQvAldHxI/riLPbSFqa/CF/mJyk5ktkL5xzy+On\nkReebC1pF7KhtGPVX5LWJbtZ7hYRN5ceK0+Rp9+HkOP47EP2EHq+U3E1kaQvkFV7U8kRclcie2ed\nQ1aVPkh2iPhZRPylpjBflm4p1bdzwp+NUkJdiRxF8ASyi9gOwHTyIpxDgC3cqJckLUZeJPMo2ftq\nGvD3iPhyeXwMecHJ3nUkVEkbA+8hrwHYAtiGbDTeh1LvOlKTy0ijnOFrE3K8rAvL39XkvrkqIj5f\nY3ijVlfOeNUNlNPQfYjswbEeeZ3ABWR/7Y3J0uDmTvazRE4w/kuyTeN6ypDQknZRDhm9O3mp/6Kd\niKdUHyBpGeV0dteSDe6Hk+O/v528WvOtEXG/k331WvskIr5EXruyeUS8jyzJP0IOZ7Ggcta7ymZ7\nayqX8Ach6ZvklX2Xl/unkANs7Sqp9QW9t9Ygu5BywvmJ5Gn5p8hudYeSA3itBuwfEbd1MJ5tyDaE\nG8grGj/Y6mZbemD9oMT0207F1DSSVo22MfbVdtFbv+ftS07GsntE3N7JGJvCJfwBlKoH8eI5MY8m\nkxYRcZqT/cAiYmpE/AKYRI44uQLZ++VDwE4dTvavBz7LrLmR36acVOc5SW8jq5eOdLKvhtJiwC8l\nfWKAx18vaX1Jy0s6iLw6fU8n++o44fdTGmxnkn1nP6OcRQfy8u41JS3uU82hRcQfyDaPr5E9mR6P\nDlzO31aNsxB5bcRngDXJA9C2kTOobUB2qd0rIi70/qzMmFLNtwWwT6kmJXL2pzdQLrSKiPvIYdC3\ni4g/1hfu6NfoKp32VvTWaaZePMbKBuTIfDeSg2u921/IOVOqTZ6OiLs6uM4tyDF5riHH1n+QHJH1\nWUlvJbv8HRARnbiqt/EkbUXO8bwDOS/1saVE/6dyNmgd0lVz2nZaW7KfRM6m86uS9N9KXvW3Bvkl\nfZqcvKTRV9DOjU5W4QBIeh05FPB5EXGVpGPIi3teK2k18uKvI53sO6OcIX+KHCDxNOAbkp6MiK+U\nx1uNuM0teXZQIxO+pLeQDUMfLou2IufTRdJKZF3iQZEDa3X1aJf2oitoRSaVZ4GTyvKTlYO0HUx2\nr/14RFzqi6o6Zj7gonLh1D3KsWauKVdjH+t90FlNrcO/DdhNOUAWwOLk1XGQ3TAPjIiflMZb63Il\n2W9KHrhPJgfg2rqVTCLiq+RFPO+JiEtbr6kr3tFqkLaQe4F1lMNMEzkWzrnAnpKW6GR81rASfvlC\njinjt0wkhzD9NNnHfkFJryYvqlpc0lNR4yBHNrS2kv0m5GTWN5BnZA8CR5WHvwovJHgn+Qq1DUVy\nENk7axnyquu9gTMknUnOE7wQeUB+rK5Ym6oxCb/tFP555ZCl15OjW14NrEMmjOXK08eQk6tbFyvJ\nfiOy++d+EfE7SWuQA1dtAhwhaZmImFxroA0i6QPkFIp7AH8E7oqI90qaTI6Kuj7wsejyiYFGq8Yk\n/LbSx0fILnp7R8Qd5XL7K8nxU3Yqz1mqXPVn3W8JskfO28mp+6aSpfy7gE+SI2FaRQYYL2ZlsrA0\niSxUnQAQEZ8uz18wIp7peKAGNKwOv/T93Q3YsiT7+Uo/4c3IfsInlKc+WluQNkci4ufkCJzvlbRn\naWh/lBze4ZHImYbcz74CyrkMXl1ub6IcbnpR4JvAG4F3RcQzkv5XOeIs5MQ3VpPGlPCLx8mZqJ5p\nL2lETsSxErBsud9VI9zZ7JUG9pnA2ZJ2JgdEm9KqI3YDbWWWB7aWdBiwdkS8VtL/AfsB7y3JfhI5\nd/HO4H1Rt1Fbwh+kVPdvoAdYr5XsJe0laQrw705eHGTzVkRcRDYOrgH8vnUFrUv3856kDSS9LyL+\nRI4m+07KNJ8RcTU5lMXHlXPQfoAcLuGO2gK2F4z6K20lHQCsSw7idRplqjRyPtWx5CxWu/gK2tGh\nXGX7bfI6ih/VHc9oVK6efpicnGQm2R12deBO4AcR8W/lHMb3AvO7Pax7jOqEL+lgMqFPIadNm0HO\nQbs02UNneeD74SGORxXl3Ll3RcTf6o5ltCr1998lz6aOlrQ3OWz41WRD+pLA51092l1GVcJvv3qy\nXEa/F9lLYH9yAKcryVl1Do2IW+uK02ykGaA3DqVL7EfJ6fyOk7QHeQa9ObBzp4fVsKGNmoTfL9nv\nR145eyFZZ38i+SVcnRwF8x/kZBzPugRiNnzKMesXAe6LiAuUQ1AfBlwfZZYqd2vuXqOm0bYt2W9M\ndr38Xhl2dT7gnxHxLPB6cuLsD0TEM072ZrOnHM++dXs34EjyStnJkj4eOQz254DNJB0B4GTfvUZN\nt8zSG+PVwKnkFX7PlYduAVaRdC5Zx7iNR700G1ppeJ1UetusRl7gNikirpf0M+D8cmL9BeUEJ5XP\nd2Avz4hO+O3VOOX/LZK+QnYL20jStaUv8DvIL+xjEXF/jSGbjSTjyQ4OuwAbAqsC10m6NSJul7Qr\nOZvVsxFxUp2B2vCM2Dr8fnX2uwBLAddGxM3KmXV2JqclvK5U55jZHJL0RspVy+QkQPORHSFuipwq\nci1yWBL3iBoBRmwdfr+xcQ4mu1ieKGn/iDgVOA/4Ellvb2bDUIZI2KN1PyKuBS4hC1TXA88AhwNv\nUM4O9xcn+5FjxCX89jHqSw+BjYG3kVfRLgG8viT908j5VP9VS6BmI9N44NhSXQNA5CTvl5C93M4C\nbiYLWfPVEqHNtRFXhx+zpiVcEfg72WtgU3Jau43IERIPlEQp6ZvZMEXET8u4RMeXvvfnlurT30p6\nDTkM9bslLe1RL0eeEZPwyyQXq0TEOZIOBP6bnFz8YeBJ4LJSp3gP8FvggvqiNRu5IuKS0uvtmFJw\nOrc8NB14tlTleE7gEWjEJHzyVPM4SeuSs+bsDEwgew9sB7y5NCBtAmwfEQ/UFajZSBcRP5P0PPBN\nSa8khzXegyzhP19vdDa3RlQvnTJGypeBmyNiL0kLkPWKe5PTFC4B/CYi/lpjmGajhqTXklel/wc4\nJyJurzkkexlGVMIHkLQj8B3ggNappqQLgW9GxMV1xmZm1s1GUpUO8MJkF/sAX5G0NnATeVGVSx5m\nZrMx4hI+QERcLGkc8H/AxcCO7gtsZjZ7I65Kp52ktwFTI+LuumMxM+t2Izrhm5nZ8I24K23NzGzu\nOOGbmTWEE76ZWUM44ZuZNYQTvplZQzjhm5k1hBO+mVlD/D/ZiStolG4swAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1039a4d50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.build_vocab_k_words(500000) # getting 500K words vocab\n",
    "my_sent = 'barack-obama is the former president of the United-States.'\n",
    "_, _ = model.visualize(my_sent)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
